
package trim.scripting.interfaces;

import java.util.List;

/**
 * ITestGenerator.java
 * 
 * Интерфейс обращения к генератору тестов
 *
 * @author Podorov Alexander
 */

public interface ITestGenerator<M,F>
{
    /**
     * Генерация тестов
     * 
     * @param minFormats
     * @param maxFormats
     * @param maxFormatCount
     * @param minMaterials
     * @param maxMaterials
     * @param maxMaterialsCount
     * @param testsPerSettings
     * @return
     */
    public List generateTests(int minFormats, int maxFormats, int maxFormatCount, int minMaterials, int maxMaterials, int maxMaterialsCount, int testsPerSettings);

    /**
     * Генерация тестов
     *
     * @param minFormats
     * @param maxFormats
     * @param maxFormatCount
     * @param minMaterials
     * @param maxMaterials
     * @param maxMaterialsCount
     * @param testsPerSettings
     * @return
     */
    public List generateTests(int minFormats, int maxFormats, int maxFormatCount, int minMaterials, int maxMaterials, int maxMaterialsCount, int testsPerSettings, List<F> formats, List<M> materials);
}
